/*
 *      浅层封装get方法，解决后请求方法改动问题
 *      --保持所有post请求参数
 *      --拼接字符串以获取所需要的完整url
 *      --调用方法：get.main(opt, callback)
 *      --opt包含url和提交的表单信息
 */

var request = require('request');

exports.main = function(opt, call) {
    // var host = 'http://api.jingkao.net';
    var query;
    if (opt.url === 'undefined' || opt.url === null) {
        console.log('未定义url');
        return false;
    };
    if (opt.form != 'undefined' && opt.form != null && opt.form.length != 1) {
        query = queryString(opt.form);
    } else {
        query = null;
        console.log('参数出错');
        return false;
    };
    url = opt.url + ((query != null) ? ('?' + query) : '');
    requestGet(url, call);
}

function queryString(data) {
    var str = [];
    for (var key in data) {
        if (str.length >= 1) {
            str.push('&');
        };
        str.push(key + '=' + data[key]);
    }
    str = str.join('');
    return str;
}

function requestGet(url, call) {
    var call = (typeof call != 'undefined') ? call : function(err, res, body) {
        if (!err && res.statusCode == 200) {
            var info = JSON.parse(body);
            console.log(info);
        }
    };
    request.get({
        url: url
    }, call);
}